package com.hsu.apibackend.model.vo;

import com.hsu.apibackend.model.entity.ProductInfo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 产品订单视图
 * @ClassName: ProductVO
 * @author Hsu琛君珩
 * @date 2024-09-06
 * @apiNote
 * @Version: v1.0
 */
@Data
public class ProductOrderVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    private Long id;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 支付类型（微信/支付宝）
     */
    private String payType;

    /**
     * 订单过期时间
     */
    private Date expirationTime;

    /**
     * 商品名称
     */
    private String orderName;

    /**
     * 支付二维码地址
     */
    private String codeUrl;

    /**
     * 商品ID
     */
    private Long productId;

    /**
     * 金额(单位：分)
     */
    private String total;

    /**
     * 订单状态
     * (SUCCESS: 支付成功, REFUND: 转入退款, NOTPAY: 未支付, CLOSED: 已关闭, REVOKED: 已撤销, USERPAYING: 用户支付中, PAYERROR: 支付失败)
     */
    private String status;

    /**
     * 产品信息
     */
    private ProductInfo productInfo;

    /**
     * 增加的积分数
     */
    private Integer addPoints;

    /**
     * 支付宝订单体
     */
    private String formData;

    /**
     * 订单创建时间
     */
    private Date createTime;

    /**
     * 产品描述
     */
    private String description;

    /**
     * 产品类型（VIP会员/充值）
     */
    private String productType;
}
